package dao

import (
	"gorm.io/gorm"
	"micro-store/dto"
	"micro-store/util"
)

/**
 * @Description
 * @Date 2023/5/16 周二 10:05
 * @Author Tang-J-L <vx：17685112557>
 */

// CheckUserName 用户名检查
func CheckUserName(name string) *gorm.DB {
	return util.DB.Where("user_name=?", name).Take(&dto.UserNameDto{})
}

// CreateUser 用户注册
func CreateUser(user *dto.CreateUserDto) *gorm.DB {
	return util.DB.Create(&user)
}

// UserLogin 用户登录
func UserLogin(user *dto.UserLoginDto) *gorm.DB {
	return util.DB.Select("id", "user_name", "password").Take(&user, "user_name=? && password=?", user.UserName, user.Password)
}

// GetUserList 查所有用户信息
func GetUserList() []*dto.CreateUserDto {
	data := make([]*dto.CreateUserDto, 20) // 每次查20条
	limit := 20                            // 一页多杀条
	pageNum := 1                           // 页码
	offset := (pageNum - 1) * limit
	util.DB.Limit(limit).Offset(offset).Find(&data)
	return data
}

// UserUpdate 用户修改
func UserUpdate(user *dto.UserUpdate) *gorm.DB {
	return util.DB.Where("id=?", user.ID).Updates(&user)
}

// UserDelete 用户删除
func UserDelete(id *uint) *gorm.DB {
	return util.DB.Delete(&dto.UserDelete{}, id)
}
